package com.ytjj.qmyx.mall.model.response;

import com.ytjj.qmyx.mall.model.OrdersInfo;
import com.ytjj.qmyx.mall.model.PageButton;
import lombok.Data;
import org.springframework.beans.BeanUtils;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 订单详情
 *
 * @version 1.0
 *
 */
@Data
public class OrderInfoResponse implements Serializable {

    /**
     * 主键
     *
     * @mbg.generated
     */
    private Integer id;

    /**
     * 订单id
     *
     * @mbg.generated
     */
    private Integer orderId;

    /**
     * 活动id
     *
     * @mbg.generated
     */
    private Integer activityId;

    /**
     * 活动类型
     *
     * @mbg.generated
     */
    private String activityType;

    /**
     * 是否大图标志
     */
    private Integer recImgFlag;

    /**
     * 商品id(平台商品)
     *
     * @mbg.generated
     */
    private Integer productId;

    /**
     * 商品名字
     *
     * @mbg.generated
     */
    private String productName;

    /**
     * 商品图片
     *
     * @mbg.generated
     */
    private String productImg;

    /**
     * 商品单价
     *
     * @mbg.generated
     */
    private BigDecimal productPrice;

    /**
     * 商品描述
     */
    private String descr;

    /**
     * 商品单价原价
     *
     * @mbg.generated
     */
    private BigDecimal productOprice;

    /**
     * 商品数量
     *
     * @mbg.generated
     */
    private Integer productSum;

    /**
     * 专区id
     *
     * @mbg.generated
     */
    private Integer specialId;

    /**
     * 活动标识：积分/红包/抵扣券
     *
     * @mbg.generated
     */
    private BigDecimal activityMax;

    /**
     * 活动标识：积分/红包/抵扣券
     *
     * @mbg.generated
     */
    private BigDecimal activityMin;

    /**
     * 店家id
     *
     * @mbg.generated
     */
    private Integer bankerId;

    /**
     * 发货仓库
     *
     * @mbg.generated
     */
    private String warehouse;

    /**
     * 发货仓库货品名字
     *
     * @mbg.generated
     */
    private String warehouseName;

    /**
     * 仓库规则如：不退换不到付
     *
     * @mbg.generated
     */
    private String warehouseRule;

    /**
     * 商品sku规格
     *
     * @mbg.generated
     */
    private String productSkuSpec;

    /**
     * 规格Id
     *
     * @mbg.generated
     */
    private Integer productSpecId;

    /**
     * 收获状态 0 未收获 1已收获
     *
     * @mbg.generated
     */
    private Byte receiveStatus;

    /**
     * 收货时间
     *
     * @mbg.generated
     */
    private Date receiveTime;

    /**
     * 发货时间
     *
     * @mbg.generated
     */
    private Date deliveryTime;

    /**
     * 查询的快递公司的编码， 一律用小写字母
     *
     * @mbg.generated
     */
    private String expressCompanyNo;

    /**
     * 快递号
     *
     * @mbg.generated
     */
    private String expressNo;

    /**
     * 是否点评	0:未点评 1:已点评
     *
     * @mbg.generated
     */
    private Byte isAppraise;

    /**
     * 是否退款	0:否 1：是
     *
     * @mbg.generated
     */
    private Byte isRefund;

    /**
     * 实际付款价格
     *
     * @mbg.generated
     */
    private BigDecimal payPrice;


    /**
     * 是否可发布标志
     */
    private Integer isPublish;

    /**
     * 库存
     */
    private Integer stock;

    /**
     * 假销量
     */
    private String volumeStr;

    /**
     * 商品活动提示
     */
    private PageButton pageButton;

    /**
     * 是否直接购买（0：否1：直接购买）
     *
     * @mbg.generated
     */
    private Integer isDirectbuy;

    private Integer status;

    private String serviceNo;//服务单号(唯一标识)

    /**
     * 订单状态：0->待付款；1->待发货；2->已发货；3->已完成；4->已关闭；5->无效订单;6->退款订单
     *
     * @mbg.generated
     */
    private String orderinfoStatus;

    /**
     * 退货标志
     * 0-正常订单  1-已发起退货
     */
    private Integer returnFlag;

    /**
     * 测评审核通过
     */
    private Boolean dynamicFlag;

    private Integer dynamicStatus;

    /**
     * 收益金额
     */
    private Integer incomeAmount;


    /**
     * 子订单号
     */
    private String childOrderNo;

    /**
     * 收货时间
     */
    private Date completeTime;
    /**
     * 测评id
     */
    private Integer dynamicId;
    /**
     * 测评类型
     */
    private String dynamicType;

    private BigDecimal reducedPrice;//商品优惠金额

    public OrderInfoResponse(){}

    public OrderInfoResponse(OrdersInfo ordersInfo){
        BeanUtils.copyProperties(ordersInfo,this);
    }
}
